This specification relates to computer-aided design (CAD) applications and, in particular, to computing boundary constraints for patching arbitrary curve networks.
Computer-aided design (CAD) can be used to model surfaces that resemble smooth real-world objects. Modeling a curved object in a CAD model typically involves the creation of one or more curved objects in the CAD model. Creating a curved object in a CAD model generally involves creating a network of curves (curve network) that represent the curved object by calculating intersecting points and creating faces that are formed by closed connected curve segments. The faces are connected using appropriate boundary continuity constraints to generate surface patches that represent the curved object.
Boundary continuity constraints between surface patches play a role in interpolating a curve network. Continuity is a measurement of how two surfaces or curves connect. For example, global features, such as sharp corners and smooth transitions between surface patches, are determined by continuity constraints. Generally, curve networks can be interpolated using either a global method or a local method. Global methods generally involve evaluating all of the surface patches in a curve network to create a global system for the curve network. A common problem with global methods is that the global system may become too large to solve as the number of curves increases. Unlike global methods, local methods attempt to construct surface patches for each face independently. Generally, local methods involve creating surface patches beginning with a seed face and continuing onto adjacent faces until all faces are patched. Conventional global and local methods generally are not able to specify continuity constraints between surface patches in such a way that the constraints are not only efficiently computed but also reflect the intrinsic shape of input curve networks.